package cn.huiyunche.base.service.vo;

import org.hibernate.validator.constraints.NotBlank;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 汇聚保 下单业务表单
 *
 * @author hdy [Tuffy]
 */
public class HJBOrderExtraInfoFormVo {

    @NotBlank(message = "投保人姓名不可为空")
    private String holderName; // 投保人姓名 Y

    @NotBlank(message = "投保人电话不可为空")
    private String holderPhone; // 投保人电话 N

    @NotBlank(message = "被保人姓名不可为空")
    private String insureName; // 被保人姓名 [姓名+身份证号或公司名称] Y

    @NotBlank(message = "运单号不可为空")
    private String freightNo; // 运单号

    @NotBlank(message = "保险金额不可为空")
    private BigDecimal coverage; // 保险金额 Y

    @NotBlank(message = "货物名称不可为空")
    private String goodsName; // 货物名称 Y

    @NotBlank(message = "货物数量不可为空")
    private Integer goodsAmount; // 货物数量 Y

    @NotBlank(message = "出发地名称不可为空")
    private String departure; // 出发地名称 Y
    private String stopovers; // 中转地名称 N [多个的话用逗号分隔]

    @NotBlank(message = "到达地名称不可为空")
    private String destination; // 到达地名称 Y

    @DateTimeFormat(iso = ISO.DATE)
    private Date startTime; // 预计起运时间 Y [yyyyMMddHHmmss，不能晚于当前]

    private Long expectStartTime; // 预计起运时间 Y [yyyyMMddHHmmss，不能晚于当前]

    public String getHolderName() {
        return holderName;
    }

    public void setHolderName(String holderName) {
        this.holderName = holderName;
    }

    public String getHolderPhone() {
        return holderPhone;
    }

    public void setHolderPhone(String holderPhone) {
        this.holderPhone = holderPhone;
    }

    public String getInsureName() {
        return insureName;
    }

    public void setInsureName(String insureName) {
        this.insureName = insureName;
    }


    public String getFreightNo() {
        return freightNo;
    }

    public void setFreightNo(String freightNo) {
        this.freightNo = freightNo;
    }

    public BigDecimal getCoverage() {
        return coverage;
    }

    public void setCoverage(BigDecimal coverage) {
        this.coverage = coverage;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Integer getGoodsAmount() {
        return goodsAmount;
    }

    public void setGoodsAmount(Integer goodsAmount) {
        this.goodsAmount = goodsAmount;
    }

    public String getDeparture() {
        return departure;
    }

    public void setDeparture(String departure) {
        this.departure = departure;
    }

    public String getStopovers() {
        return stopovers;
    }

    public void setStopovers(String stopovers) {
        this.stopovers = stopovers;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Long getExpectStartTime() {
        return expectStartTime;
    }

    public void setExpectStartTime(Long expectStartTime) {
        this.expectStartTime = expectStartTime;
    }

}
